#include<bits/stdc++.h>
#define sd(n) scanf("%d",&n) 
#define sld(n) scanf("%lld",&n)
#define pd(n) printf("%d", (n))
#define pld(n) printf("%lld", n)
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define fi first
#define se second
const int N = 2e5;
const int maxn = 1e6;
typedef long long int ll;
using namespace std;
//----------------------------------------------------------------------------//

void solve()
{
	string oriS;
	cin >> oriS;
	int ans = 0;//ans表示当前呢个达到的最大的偶数串
	map<char, int> M;//M[it]表示最长的一个以it结尾的非偶数串
	for (char it: oriS)
	{
		if (M[it] > ans)
		{
			ans = max(ans,M[it]);
			M[it] = 0;
		}else
		{
			M[it] = ans+2;
		}
	}
	cout << oriS.size()-ans << endl;
}


int main()
{
	int T;
	sd(T);
	while (T--)
	{
		solve();
	}
	return 0;
}